package com.jt.www.dao.mapper.offline;

import com.jt.www.dao.BaseMapper;
import com.jt.www.domain.po.OfflineEndorse;
import com.jt.www.domain.po.OfflineOrder;
import com.jt.www.domain.qo.OfflineEndorseQO;
import com.jt.www.domain.qo.OfflineOrderQO;
import com.jt.www.domain.qo.OfflinePolicyQO;
import com.jt.www.domain.qo.SavePolicyDetailFileQo;
import com.jt.www.domain.vo.OfflineOrderVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by shaoyn on 2020/05/25.
 */
public interface OfflineMapper extends BaseMapper<OfflineOrder> {

    /**
     * 查询线下保单列表
     *
     * @param offlinePolicyQO
     * @return
     */
    List<OfflineOrderVo> queryOfflinePolicy(@Param("offlinePolicyQO") OfflinePolicyQO offlinePolicyQO);

    /**
     * 查询线下保单条数
     *
     * @param offlinePolicyQO
     * @return
     */
    Long queryOfflinePolicyCount(@Param("offlinePolicyQO") OfflinePolicyQO offlinePolicyQO);

    /**
     * 查询线下批单列表
     *
     * @param offlineEndorseQO
     * @return
     */
    List<OfflineEndorse> queryOfflineEndorse(@Param("offlineEndorseQO") OfflineEndorseQO offlineEndorseQO);


    /**
     * 查询线下批单条数
     *
     * @param offlineEndorseQO
     * @return
     */
    Long queryOfflineEndorseCount(@Param("offlineEndorseQO") OfflineEndorseQO offlineEndorseQO);

    /**
     * 查询线下保单条数
     *
     * @param offlineOrderQO
     * @return
     */
    Long queryOfflineOrderCount(@Param("offlineOrderQO") OfflineOrderQO offlineOrderQO);

    /**
     * 查询线下订单列表
     *
     * @param offlineOrderQO
     * @return
     */
    List<OfflineOrder> queryOfflineOrder(@Param("offlineOrderQO") OfflineOrderQO offlineOrderQO);

    /**
     * 通过保单ID关联/删除/修改 人员清单ID
     *
     * @param savePolicyDetailFileQo
     */
    void updatePolicyDetailFile(@Param("savePolicyDetailFileQo") SavePolicyDetailFileQo savePolicyDetailFileQo);
}
